#ifndef TEVENTDEFINITIONS_H_
#define TEVENTDEFINITIONS_H_

#include "../SLList.h"

class CBaseObject;

enum EVENT_TYPE
{
	EVENT_NONE = 0,

	EVENT_RENDER
};

struct TBaseEventData
{

	EVENT_TYPE m_nID;

	//Constructor
	TBaseEventData()
	{
		m_nID = EVENT_NONE;
	}
	
	TBaseEventData(EVENT_TYPE nID)
	{
		m_nID = nID;
	}
	
	virtual ~TBaseEventData(){}

	EVENT_TYPE GetEventID(){return m_nID;}

};

////////////////////////////////////////////
//Any Event needs to be derive from TBaseEventData
//And keep this file growing
//GOOD LUCK
////////////////////////////////////////////

struct RenderEvent:public TBaseEventData
{

	SLList<CBaseObject*> ListRender;

public:
	RenderEvent(SLList<CBaseObject*> SLTemp)
	{
		m_nID = EVENT_RENDER;
		ListRender = SLTemp;
	}
	~RenderEvent()
	{
		ListRender.clear();
	}

	SLList<CBaseObject*> GetList(){return ListRender;}

};


#endif
